home *** CD-ROM | disk | FTP | other *** search
- jmp $20000
- org $20000
- load $20000
-
- >extern "gfx/aaasprites",$545ae
-
- gfxmem = $40000
- sprites = $545ae
- spranz = 180*2
-
- s: lea gfxmem,a0
- move.w #40*256/4-1,d0
- cloop1: clr.l (a0)+
- dbf d0,cloop1
-
- lea sprites,a0
- move.l #$80909680,d0
- moveq #spranz/4-1,d1
- cloop2: move.l d0,(a0)
- eori.b #$80,d0
- move.l d0,$60(a0)
- subi.l #$00080000,d0
- eori.b #$80,d0
- move.l d0,$c0(a0)
- eori.b #$80,d0
- move.l d0,$120(a0)
- addi.l #$00080000,d0
- eori.b #$80,d0
- lea $180(a0),a0
- dbra d1,cloop2
- moveq #0,d2
- bsr pr_reg
-
- lea spr0+2(pc),a0
- move.l #sprites+$120,d0
- bsr split
- moveq #2,d1
- loop2: addq.l #8,a0
- subi.w #$60,d0
- bsr split
- dbf d1,loop2
-
- move.w #$83a0,$dff096
- move.l #copperlist,$dff080
- moveq #0,d7
-
- lmb: btst #10,$dff016
- beq.s normit
- btst #6,$bfe001
- bne.s lmb
-
- bsr.s next_sprite
- move.w #$8000,d1
- lmb2: btst #6,$bfe001
- dbne d1,lmb2
- tst.w d1
- bpl.s lmb
- loop3: bsr.s next_sprite
- move.w #$4000,d1
- lmb3: btst #6,$bfe001
- dbne d1,lmb3
- tst.w d1
- bmi.s loop3
- bra.s lmb
-
- normit: move.l #$420,d1
- tst.w $4.w
- bne.s norm1
- move.l #$22f8,d1
- norm1: move.l d1,$dff080
- rts
-
- split: move.w d0,4(a0)
- swap d0
- move.w d0,(a0)
- swap d0
- rts
-
- next_sprite:
- addq.w #1,d7
- cmpi.w #spranz/4,d7
- bcs.s cont1
- moveq #0,d7
- move.l #sprites-$180,d0
- cont1: move.w d7,d2
- bsr.s pr_reg
- lea spr0+2(pc),a0
- addi.w #$180+$120,d0
- bsr.s split
- moveq #2,d1
- loop1: addq.l #8,a0
- subi.w #$60,d0
- bsr.s split
- dbf d1,loop1
- rts
-
- pr_reg: ;d2=reg
- lea gfxmem+1,a1
- moveq #1,d5
- prloop2:lea font(pc),a2
- move.w d2,d3
- andi.w #$000f,d3
- move.w d3,d4
- lsl.w #2,d3
- add.w d4,d3
- adda.w d3,a2
- moveq #4,d4
- prloop1:move.b (a2)+,(a1)
- lea 40(a1),a1
- dbf d4,prloop1
- lea -40*5-1(a1),a1
- lsr.w #4,d2
- dbf d5,prloop2
- rts
-
- copperlist:
- dc.w $0180,$000,$0182,$fff
- dc.w $008e,$2681,$0090,$26c1,$0092,$38,$0094,$d0
- dc.w $00e0,$0004,$00e2,$0000
- spr0: dc.w $0120,$0000,$0122,$0478
- dc.w $0124,$0000,$0126,$0478
- spr1: dc.w $0128,$0000,$012a,$0478
- dc.w $012c,$0000,$012e,$0478
- dc.w $0130,$0000,$0132,$0478
- dc.w $0134,$0000,$0136,$0478
- dc.w $0138,$0000,$013a,$0478
- dc.w $013c,$0000,$013e,$0478
- dc.w $01a0,$000,$01a2,$fff,$01a4,$f00,$01a6,$f90
- dc.w $01a8,$ff0,$01aa,$a60,$01ac,$bbb,$01ae,$666
- dc.w $01b0,$740,$01b2,$000,$01b4,$08f,$01b6,$b00
- dc.w $01b8,$000,$01ba,$000,$01bc,$000,$01be,$000
- dc.w $2601,$ff00,$0100,$1200
- dc.w $ffe1,$ffee ;copper +255
- dc.w $2601,$ff00,$0100,$0000
- dc.w $ff01,$ffee ;copper end
-
- font: dc.b %01111110
- dc.b %01100110
- dc.b %01100110
- dc.b %01100110
- dc.b %01111110
-
- dc.b %00001100
- dc.b %00011100
- dc.b %00001100
- dc.b %00001100
- dc.b %00011110
-
- dc.b %01111110
- dc.b %00000110
- dc.b %01111110
- dc.b %01100000
- dc.b %01111110
-
- dc.b %01111110
- dc.b %00000110
- dc.b %00011110
- dc.b %00000110
- dc.b %01111110
-
- dc.b %01100000
- dc.b %01101100
- dc.b %01111110
- dc.b %00001100
- dc.b %00001100
-
- dc.b %01111110
- dc.b %01100000
- dc.b %01111110
- dc.b %00000110
- dc.b %01111110
-
- dc.b %01111110
- dc.b %01100000
- dc.b %01111110
- dc.b %01100110
- dc.b %01111110
-
- dc.b %01111110
- dc.b %00000110
- dc.b %00001100
- dc.b %00011000
- dc.b %00110000
-
- dc.b %01111110
- dc.b %01100110
- dc.b %01111110
- dc.b %01100110
- dc.b %01111110
-
- dc.b %01111110
- dc.b %01100110
- dc.b %01111110
- dc.b %00000110
- dc.b %01111110
-
- dc.b %01111110
- dc.b %01100110
- dc.b %01111110
- dc.b %01100110
- dc.b %01100110
-
- dc.b %01111100
- dc.b %01100110
- dc.b %01111100
- dc.b %01100110
- dc.b %01111100
-
- dc.b %01111110
- dc.b %01100000
- dc.b %01100000
- dc.b %01100000
- dc.b %01111110
-
- dc.b %01111100
- dc.b %01100110
- dc.b %01100110
- dc.b %01100110
- dc.b %01111100
-
- dc.b %01111110
- dc.b %01100000
- dc.b %01111000
- dc.b %01100000
- dc.b %01111110
-
- dc.b %01111110
- dc.b %01100000
- dc.b %01111000
- dc.b %01100000
- dc.b %01100000
-